An image sensor is a device comprising one or more radiation sensitive elements having an electrical property that changes when radiation is incident upon them, together with circuitry for converting the changed electrical property into a signal. As an example, an image sensor may comprise a photodetector that generates a charge when radiation is incident upon it. The photodetector may be designed to be sensitive to electromagnetic radiation in the range of (human) visible wavelengths, or other neighboring wavelength ranges, such as infra red or ultra violet for example. Circuitry is provided that collects and carries the charge from the radiation sensitive element for conversion to a value representing the intensity of incident radiation.
Typically, more than one radiation sensitive element will be provided in an array. The term pixel is used as a short hand for picture element. In the context of a digital image sensor, a pixel refers to that portion of the image sensor that contributes one value representative of the radiation intensity at that point on the array. These pixel values are combined to reproduce a scene that is to be imaged by the sensor. The set of pixel values is usually referred to as image data. Pixels are usually formed on and/or within a semiconductor substrate. In fact, the radiation sensitive element comprises only a part of the pixel. Other parts of the pixel are taken up by metallization such as transistor gates and so on. Other image sensor components, such as readout electronics, analog to digital conversion circuitry and so on may be provided at least partially as part of each pixel, depending on the pixel architecture.
In electrical systems, any digital representation of an analog signal will necessarily introduce some element of quantization error as the accuracy of the digital representation of an analog signal is limited by the resolution (word size) of the converter used to represent the values. An example of this is illustrated in FIG. 1 where an analog signal 10 is shown comprising a voltage (on the y-axis) that varies with time (on the x-axis). In this example the digital representation obtained by a three bit analog to digital converter (ADC) is shown as reference 12. The use of a three bit ADC means that the digital representation of the signal 12 can only take one of eight possible values (8=23). The possible values for the digital representation are illustrated by the dotted lines in the Figure. The difference in voltage between the actual analog signal and the digital representation is known as the quantization error. The quantization error becomes less when a higher resolution ADC is used. However, higher resolution ADCs use up more memory and are slower and more expensive.
A “digital ramp ADC” functions by comparing a ramped voltage with the signal that is being sampled. This type of ADC is commonly used in solid state image sensors such as CCD and CMOS image sensors, and is illustrated in FIG. 2. A comparator 20 is provided (which may for example be an operational amplifier) and is set up to receive a voltage (Vpix) to be sampled at one input (in this example the non-inverting input) and a signal from a digital to analog convertor (DAC) 22 at its other input (in this example the inverting input). The DAC 22 is driven by a ramped voltage. This is driven upwards in increments at time periods set by a counter 24. At a time of sampling, the counter is started and the ramp increased, typically in a linear manner. When the value of the ramp matches the value of the input voltage to be sampled, this causes the comparator 20 to change state (switching from low to high or high to low depending upon the particular set-up). A memory 26 reads the output from the comparator 20 and from the DAC 22, and when the output from the comparator changes state, the memory 26 stores the digital code output from the counter 24. The memory 26 may for example comprise a SRAM element. Again, the accuracy of the representation of the data depends upon the resolution of the ADC, which is governed by the resolution of the digital ramp.
“Dithering” is a technique applied to digital data in order to compensate for noise caused by quantization errors. The technique works by intentionally applying an additional noise component to the digital data values, with the type of noise applied being chosen to randomize quantization errors. The process can also be known as error diffusion.
Using conventional techniques, one cannot add or subtract less than one code to compensate for row or column noise in an image. The effectiveness of compensation is limited by quantization noise. This can be improved using an ADC with the higher accuracy. However, this is a costly solution and has knock-on effects in other areas of image sensor design and is therefore undesirable.